package com.training.mapper;

import com.training.entity.CourseLike;
import com.training.entity.CourseCollection;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper // 标记这是一个MyBatis Mapper接口
public interface LikeMapper {
    /**
     * 检查点赞记录是否存在
     * @param courseId 课程ID
     * @param studentId 学生ID
     * @return 匹配的记录数
     */
    Integer checkCourseLike(@Param("courseId") Long courseId, @Param("studentId") Long studentId);

    /**
     * 插入新的点赞记录
     * @param courseLike 点赞实体
     * @return 影响的行数
     */
    int insertCourseLike(CourseLike courseLike);

    /**
     * 删除点赞记录
     * @param courseId 课程ID
     * @param studentId 学生ID
     * @return 影响的行数
     */
    int deleteCourseLike(@Param("courseId") Long courseId, @Param("studentId") Long studentId);

    /**
     * 检查收藏记录是否存在
     * @param courseId 课程ID
     * @param studentId 学生ID
     * @return 匹配的记录数
     */
    Integer checkCourseCollection(@Param("courseId") Long courseId, @Param("studentId") Long studentId);

    /**
     * 插入新的收藏记录
     * @param courseCollection 收藏实体
     * @return 影响的行数
     */
    int insertCourseCollection(CourseCollection courseCollection);

    /**
     * 删除收藏记录
     * @param courseId 课程ID
     * @param studentId 学生ID
     * @return 影响的行数
     */
    int deleteCourseCollection(@Param("courseId") Long courseId, @Param("studentId") Long studentId);
}